
/**
 * remindAnalyzes
 */

var remindAnalyzes = {
    init : function(){
        this.initQueryTime();//初始化查询时间
        this.barChart = this.initBarChart();
        this.queryBarChartData();
        this.queryRemindTable();
        this.bindQuery();
        $('.query-select').select2({minimumResultsForSearch: -1});
        $("#remindType").next().css("border","none");
    },
    //初始化查询时间
    initQueryTime : function(){
    	//初始化显示前一天
    	var date = new Date();
    	//var date = new Date(todayDate-86400000);
	    var y = date.getFullYear();    
	    var m = date.getMonth() + 1;    
	    m = m < 10 ? ('0' + m) : m;    
	    var d = date.getDate();    
	    d = d < 10 ? ('0' + d) : d; 
    	var day = y+"-"+m+"-"+d;
    	$("#inputStartDate").val(day);
    	$("#inputEndDate").val(day);
    	
    },
    
    // 获取查询条件
    getparams: function () {
    	var remindType = $('#remindType').val();
    	var reminder = $('#reminder').val();
        var startDate = $("#inputStartDate").val() + " 00:00:00";
        var endDate = $("#inputEndDate").val() + " 23:59:59";
    	
    	var params = [ {
			name : 'remindType',
			value : remindType
		},{
			name : 'reminder',
			value : reminder
		},{
			name : 'startDate',
			value : startDate
		},{
			name : 'endDate',
			value : endDate
		}];

    	return params;
    },
	
	/**
	 * 问题车辆柱状图
	 */
    initBarChart : function(){
    	var me = this;
        var option = {
        		/*title:{text:'企业问题车辆统计',x:'center',textStyle:{fontSize:'12px'} },*/
        		color : ['#4F81BD','#FF7F00'],
        		tooltip : {
	                trigger: 'axis',
	            },
	            legend: {
	                data:['短信','邮件']
	            },
	            grid: {
			        left: 10,
			        top:'10%',
			        right: 12,
			        containLabel: true
			    },
	            xAxis : [
	                {	
	                	type : 'category',
			            data : []
	                }
	            ],
	            yAxis : [
	                {
	                    type : 'value',
	                    minInterval:1,
	                    min:0,
	                    axisLabel: {
	                        formatter: function (value, index) {
	                            if (value >= 1 || value == 0) {
	                            	if (value%1 === 0) {
	                            		return value;
	                            	}
	                            }
	                        }
	                    },

	                }
	            ],
	            series : [{
				            name:'短信',
				            type:'bar',
				            
				            barMaxWidth : 100,
				            data:[],
				            itemStyle : { normal: {label : {show: true, position: 'top'}}},
		            	 },{
					        name:'邮件',
					        type:'bar',
					        data:[],
					        barMaxWidth : 100,
					        itemStyle : { normal: {label : {show: true, position: 'top'}}},   
			             }
	            ],
			    dataZoom: [
			    	{
			    	type:'slider' ,
			        start: 0,
			        end: 100,
			        fillerColor:'#A3E1A3',
			        handleColor:'#83A7D1',
			        showDetail:false
			    }]
	        };
        var myChart = echarts.init(document.getElementById('chart'));
        myChart.setOption(option);
        window.onresize = myChart.resize;
        myChart.on('click', function(param){
        	var remindType = 0;
        	var reminder = 0;
        	if(param.seriesName == '邮件'){
        		remindType=1;
        	}
        	if(param.name == '平台联系人'){
        		reminder=0;
        	}else if(param.name == '业户联系人'){
        		reminder=1;
        	}else if(param.name == '从业人员'){
        		reminder=2;
        	}else if(param.name == '区域联系人'){
        		reminder=3;
        	}else if(param.name == '车辆联系人'){
        		reminder=4;
        	}
        	
        	var startDate = $('#inputStartDate').val()+" 00:00:00";
        	var endDate = $('#inputEndDate').val()+" 23:59:59";
        	$("#resultTable").flexOptions({
	            	url: appCtx + "/report/remindAnalyzes/loadTableData.html?time="+ new Date().getTime(),
	            	params: [{
	                    name: 'remindType',
	                    value: remindType
	                }, {
	                	name:"reminder",
	            		value:reminder
	                }, {
	                	name:"startDate",
	            		value:startDate
	                }, {
	                    name: 'endDate',
	                    value: endDate
	                }],//设置查询参数
	                newp: 1
	            }).flexReload();
        });
        return {
        	refash : function(option){
                myChart.setOption(option);
        	},
        	option : option,
        	barChartDom : myChart
        };
    },
    tableReload : function(){
    	$("#resultTable").flexOptions({
        	url: appCtx + "/report/remindAnalyzes/loadTableData.html",
        	params: remindAnalyzes.getparams(),//设置查询参数
            newp: 1
        }).flexReload();
    },
	/**
	 * 加载柱状图数据
	 */
	queryBarChartData: function(){
		var me = this;
		$.ajax({
			type : 'post',
			data:remindAnalyzes.getparams(),
			url : appCtx+"/report/remindAnalyzes/loadChartData.html",
			cache : false,
			dataType : "JSON",
			success : function(data) {
				var option = me.barChart.option;
				option.xAxis[0].data =data.xAxis; //['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
				option.series[0].data =data.ySMS;// [10, 52, 200, 334, 390, 330, 220];
				option.series[1].data =data.yMail;
				me.barChart.refash(option);
		//		me.enterpriseList = data.xAxisData;
		
			}
		});
	},   
	/**
     * @Description: 用户单击条形图的某一条,获取条形图的业户ID查询业户异常车辆列表方法
     * @param vehicleId
     * @param plateNumber
     */
	queryRemindTable:function(){
		$("#resultTable").flexigrid({
			url : appCtx + "report/remindAnalyzes/loadTableData.html",
			dataType : 'json',
			colModel : remindAnalyzes.getColumn(),
			params: remindAnalyzes.getparams(),
            contentType: "application/json; charset=utf-8",
			resizable : false,
			sortname : "overspeed_order",// 第一次加载数据时排序列
			sortorder : "desc",// 第一次加载数据时排序类型
			usepager : true,// 是否分页，默认为true。
			showToggleBtn : false,
			minheight: 30, //列的最小高度
			nowrap: true, //是否不换行
			showTableToggleBtn : true,// 是否显示收起/打开按钮,默认不显示。
			useRp : true,// 是否可以动态设置每页显示的结果数，默认为false。
			rp : 10,// 每页记录数，默认为10
			rpOptions: [10, 20,50, 100], // 每页结果数
			checkbox : false,// 是否要多选框,默认为false。
		//	rowId : 'vehicleId',// 多选框绑定行的id,只有checkbox : true时才有效。
			singleSelect : true,
		//	widthType:"%",
			width : $("#tableDiv").width(),
			widthType:"%",
			height : nav.whiceH[1] -205,
            onSuccess: function (data) {
            
            },
     	});
    },
    
    getColumn : function(){
    	return [{
			display : '提醒方式',
			name : 'tips_type',
			width : 10,
			align : 'left',
			showTitle : true,
			paramcolnames:['tips_type'],
            handlefunction:function(tips_type){
            	if(tips_type == 0){
            		return "短信";
            	}else{
            		return "邮件";
            	}
            }
		},{
			display : '提醒对象',
			name : 'target_type',
			width : 10,
			sortable : true,
			showTitle : true,
			align : 'left',
			paramcolnames:['target_type'],
            handlefunction:function(target_type){
            	if(target_type == 0){
            		return "平台联系人";
            	}else if(target_type == 1){
            		return "业户联系人";
            	}else if(target_type == 2){
            		return "从业人员";
            	}else if(target_type == 3){
            		return "区域联系人";
            	}else if(target_type == 4){
            		return "车辆联系人";
            	}
            }
		},{
			display : '对象名称',
			name : 'target_name',
			width : 10,
			sortable : true,
			showTitle : true,
			align : 'left'
		},{
			display : '联系手机',
			name : 'phone',
			width : 10,
			sortable : true,
			showTitle : true,
			align : 'left'
		},{
			display : '联系邮箱',
			name : 'email',
			width : 15,
			sortable : true,
			showTitle : true,
			align : 'left'
		},{
			display : '提醒内容',
			name : 'content',
			width : 33,
			sortable : true,
			showTitle : true,
			align : 'left',			
			paramcolnames: ['tips_type','content'],
            handlefunction: function(tips_type,content){
            	
            	if(tips_type == 1){
            		return '<a target="_blank" title ="查看详情" href="'+appCtx+content+'">'+appCtx+content+'</a>';
            	}else{
            		return content;
            	}
            }
		},{
			display : '发送时间',
			name : 'tips_time',
			width : 12,
			sortable : true,
			align : 'left',
			paramcolnames:['tips_time'],
            handlefunction:function(tips_time){
            	if (tips_time != "" && null != tips_time && undefined != tips_time ) {
          	    	var outTime = "0";
        	  		var date = new Date(parseInt(tips_time)); 
          		    var y = date.getFullYear();    
          		    var m = date.getMonth() + 1;    
          		    m = m < 10 ? ('0' + m) : m;    
          		    var d = date.getDate();    
          		    d = d < 10 ? ('0' + d) : d;    
          		    var h = date.getHours();  
          		    h = h < 10 ? ('0' + h) : h;  
          		    var minute = date.getMinutes();  
          		    var second = date.getSeconds();  
          		    minute = minute < 10 ? ('0' + minute) : minute;    
          		    second = second < 10 ? ('0' + second) : second;   
          		    outTime = y + '-' + m + '-' + d+'  '+h+':'+minute+':'+second;
          		    return outTime;
        	  	}else{
        	  		return "";
        	  	}
            }
		}];
    },
   
    bindQuery : function(){
    	$('#queryBtn').click(function(){
    		remindAnalyzes.queryBarChartData();
    		remindAnalyzes.tableReload();
    	});
    	$('#exportExcel').click(function(){
    		remindAnalyzes.exportData();
    	});
    	$('#confirmExport').click(function(){
    		remindAnalyzes.exportExcel();
    		
    	});
    },
    
    /**
     * 弹出导出选择页
     */
    exportData: function () {
        var options = $("#resultTable").getOptions();
        var total = options.total;
        if (total == 0) {
            global.ajaxLoading.pop("无导出数据", false, 2000);
            return;
        }
        var pages = options.pages;
        //设置默认的开始结束页
        $("#StartPageIndex").val(1);
        $("#EndPageIndex").val(pages);
        //显示导出窗口
        $("#exportModal").modal('show');
    },
    exportExcel : function (){
        	var me = this;
    		var header = JSON.stringify(me.getExcelColumn());
    		var options = $("#resultTable").getOptions();
    		//每页大小
    		var pagesize = options.rp;
    		var headerWidth = $('.detail-report').width();
    		 var imageUrl = me.barChart.barChartDom.getDataURL({
    			type: 'png',
    		    pixelRatio: 1
    		}); 
    		//表头
    		var colModelList=new Array();
    		colModelList.push(header);
    		var colModel= $.toJSON(colModelList);
    		//图片
			var imgsrcList=new Array();
			imgsrcList.push(imageUrl);
			var imgsrc= $.toJSON(imgsrcList);
    		var param =  {
    				startTime : $("#inputStartDate").val()+" 00:00:00",
    				endTime : $("#inputEndDate").val()+" 23:59:59",
    				remindType : $('#remindType').val(),
    		    	reminder : $('#reminder').val(),
    				colModel : colModel,
    				title : "提醒分析报表",
    				imgSrc : imgsrc,
    				startPage : $("#StartPageIndex").val(),
    				endPage : $("#EndPageIndex").val(),
    				PageSize : pagesize
    		};
    		$('#exportModal').modal('hide');
    		post(appCtx+"report/remindAnalyzes/exportQueryData.html",param);
    },
    getExcelColumn:function(){
    	return [{
			display : '提醒方式',
			name : 'tips_type',
			width : 120,
			align : 'left',
		},{
			display : '提醒对象',
			name : 'target_type',
			width : 120,
			align : 'left',
		},{
			display : '对象名称',
			name : 'target_name',
			width : 100,
			align : 'left'
		},{
			display : '联系手机',
			name : 'phone',
			width : 120,
			align : 'left'
		},{
			display : '联系邮箱',
			name : 'email',
			width : 170,
			align : 'left'
		},{
			display : '提醒内容',
			name : 'content',
			width : 400,
			align : 'left',			
		},{
			display : '发送时间',
			name : 'tips_time',
			width : 150,
			align : 'left',
		}];
    }
	
};
$(function(){
	remindAnalyzes.init();
});


